/**
 * @file   1058.cpp
 * @author Shuang Hu <hsmath@ubuntu>
 * @date   Mon May 24 00:36:37 2021
 * 
 * @brief  PAT 1058
 * 
 * 
 */
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
    string A,B;
    cin>>A>>B;
    int data=0;
    int arr1[3]={0};
    int arr2[3]={0};
    int flag=0;
    for(int i=0;i<A.size();i++){
	if(A[i]=='.'){
	    arr1[flag]=data;
	    data=0;
	    flag++;
	}else{
	    data=data*10+A[i]-'0';
	}
    }
    arr1[2]=data;
    data=0;
    flag=0;
    for(int i=0;i<B.size();i++){
	if(B[i]=='.'){
	    arr2[flag]=data;
	    data=0;
	    flag++;
	}else{
	    data=data*10+B[i]-'0';
	}
    }
    arr2[2]=data;
    bool jinwei=false;
    vector<int> result;
    for(int i=2;i>=0;i--){
	int d=arr1[i]+arr2[i];
	if(jinwei==true)
        {
	    d++;
	    jinwei=false;
 	}
	if(i==2){
	    if(d>=29){
		d-=29;
		jinwei=true;
	    }
	}
	if(i==1){
	    if(d>=17){
		d-=17;
		jinwei=true;
	    }
	}
	result.push_back(d);
    }
    for(int i=2;i>=1;i--){
	cout<<result[i]<<".";
    }
    cout<<result[0]<<endl;
}
